1. Field of the Invention
The present invention relates to clock-synchronous communication apparatus which receives/transmits data synchronized with a clock signal and a communication system equipped therewith, and in particular, to a clock communication apparatus and a communication system, which is suitable for configuring a communication system consisting of master/slave devices as a plurality of communication apparatus.
2. Description of Related Art
Conventionally, various methods have been adapted to communication performed among a plurality of communication apparatus. One of these methods has been used in a clock-synchronous communication system as follows.
In the clock-synchronous communication system, a communication clock is outputted from a master device to a slave device through a clock line. Of the master device and the slave device, the one which transmits data performs an operation of transmitting a data signal to the data line with a first (i.e., either one of rising or falling) edge timing of a communication clock, and the one which receives data performs an operation of receiving the data signal from the data line with a second edge timing (i.e., the other of rising or falling) of the communication clock.
In such a clock-synchronous communication system, a communication baud rate is determined, taking into account the output delay time of data signal on the transmission side, and data setup time and data hold time on the reception side. Details will be described hereinbelow.
Data setup time refers to a minimum time during which a transmission side has to define a data signal on the data line, preceding the above-mentioned second edge timing of a communication clock, so that the data signal can be reliably inputted to the reception side. Also, data setup time depends on the characteristics of the reception side. In other words, data setup time indicates how much earlier the data signal on the data line has to be defined, than the second edge timing when the reception side starts the reception operation.
Data hold time refers to a minimum time during which the transmission side has to continue outputting of the data signal to the data line even after the occurrence of the second edge timing in the communication clock, in order to reliably input the data signal to the reception side. In other words, data hold time indicates how long the data signal on the data line has to be kept being held after the second edge timing when the reception side starts the reception operation. Data hold time also depends on the characteristics of the reception side.
Output delay time of data signal refers to a time from when the transmission side starts the operation of outputting a data signal to the data line with the first edge timing, up to when the actual voltage on the data line reaches the voltage valid for the outputted data signal. Output delay time of data signal depends on the signal output characteristics of the transmission side (characteristics of the transmission circuit), the capacity of the data line, and the like.
As shown in FIG. 1, a master device in a clock-synchronous communication system has been configured in such a way that the high-level duration (high time) and the low-level duration (low time) will be the same in a communication clock outputted to a slave device. Therefore, high time and low time in a communication clock will change at an interval corresponding to half of the communication baud rate cycle (i.e., inverse number of the communication baud rate).
Thus, the communication baud rate in a conventional clock-synchronous communication system has been determined, as shown in FIG. 1, so that an interval corresponding to half of a communication baud rate cycle T (=T/2: half cycle of a communication clock) satisfies the following two requirements (1) and (2).
(1) T/2≧“output delay time of data signal+data setup time”
(2) T/2≧“data hold time”
It should be appreciated that, in the example shown in FIG. 1, of the edges of the communication clock, the falling edge corresponds to the first edge mentioned above, i.e., an edge of transmission operation start timing (hereinafter also referred to as a “transmission edge”), and the rising edge corresponds to the second edge mentioned above, i.e., an edge of reception operation start timing (hereinafter also referred to as a “reception edge”).
In the case where only one-way communication is performed from a master device to a slave device, the output delay time of the master device on the transmission side, and the data setup time and the data hold time of the slave device on the reception side are applied to the two requirements (1) and (2). Meanwhile, in the case where two-way communication is performed between a master device and a slave device, either “output delay time of master slave+data setup time of slave device” or “output delay time of slave device+data setup time of master device”, whichever is longer, is used as the “output delay time+data setup time” in the requirement (1). Also, in this case, either “data hold time of slave device” or “data hold time of master device”, whichever is longer, is used as the “data hold time” in the requirement (2).
Data setup time is also simply referred to as “setup time”. Similarly, data hold time is also simply referred to as “hold time”. Such setup time and hold time are described, for example, in Japanese Patent Application Laid Open Publication No. 11-252060.
If there are no limiting factors, such as the necessity of having noise-tolerance properties, it is desirable that a communication baud rate is set to as large a value as possible. This is because, with a communication baud rate of a larger value, the amount of data to be transmitted during a certain time can be more increased, compared with the case where there are limiting factors.
However, with the conventional technique, the above requirements (1) and (2) have been required to be satisfied by the interval corresponding to half of a communication baud rate cycle. Therefore, when the time taken from a transmission edge to a reception edge in a communication clock (=output delay time+data setup time) is considerably different from the time taken from the reception edge to the transmission edge (=data hold time), as in the example shown in FIG. 1, the communication baud rate will have to be set in conformity with the longer one of the above times.
For example, in the example shown in FIG. 1, the “data hold time on reception side” is shorter than the “output delay time on transmission side+data setup time on reception side”. Therefore, the time taken from the reception edge to the transmission edge in the communication clock may be shorter than the time taken from the transmission edge to the reception edge. However, with the conventional technique, the time taken from the reception edge to the transmission edge has been set to the same as the time taken from the transmission edge to the reception edge. Due to such redundant time (i.e., due to the time indicated as “vacant time” in FIG. 1), it has been problematically difficult to uprate the communication baud rate.